﻿//------------------------------------------------------------------------------------------------- 
// <copyright file="ISetupProvider.cs" company="Microsoft">
// Microsoft Public License (Ms-PL) - https://smartsetup.codeplex.com/license
// </copyright>
// <author>Steven Shan</author>
//-------------------------------------------------------------------------------------------------

namespace Microsoft.STEVSHAN.SmartSetup.Providers
{
    using Microsoft.STEVSHAN.SmartSetup.Common;
    using System.IO;

    public interface ISetupProvider
    {
        bool CanHandle(string path);

        bool CanHandle(Stream stream);

        ISetupItem CreateSetupItem(string path);

        ISetupItem CreateSetupItem(Stream stream);

        bool TryCreateSetupItem(string path, out ISetupItem setupItem);

        bool TryCreateSetupItem(Stream stream, out ISetupItem setupItem);
    }
}